var express = require('express');
var router = express.Router();

/* 获取 */
router.get('/', function (req, res, next) {

	Db.Config.findOne(function(err, config) {
		if (err) {
			res.send(500, err);
			return;
		}

		if (!config) {
			config = new Db.Config();
			config.save(function(err) {
				if (err) {
					res.send(500, err);
					return;
				}

				res.send(config);
			});
		} else {
			res.send(config);
		}

	});
});

/* 获取 */
router.get('/:type', function (req, res, next) {
	var type = req.params.type;

	if (!type) {
		res.send(404);
		return;
	}

	Db.Config.findOne(type, function(err, config) {
		if (err) {
			res.send(500, err);
			return;
		}

		if (!config) {
			config = new Db.Config();
			config.save(function(err) {
				if (err) {
					res.send(500, err);
					return;
				}

				res.send({
					values : config[req.params.type]
				});
			});
		} else {
			res.send({
				values : config[req.params.type]
			});
		}

	});
});

/* 修改 */
router.put('/:type', function(req, res, next) {
	var type = req.params.type;

	if (!type) {
		res.send(404);
		return;
	}

	Db.Config.findOne({}, function(err, config) {
		if (err) {
			res.send(500, err);
			return;
		}

		if (!config) {
			config = new Db.Config();
		}
		config.set(type, req.body[type]);
		config.save(function(err) {
			if (err) {
				res.send(500, err);
				return;
			}

			res.send({
				values : req.body[type]
			});
		});
	});
});


module.exports = router;
